package com.wlz.creational.singleton.statics;

/**
 * 静态内部类
 * StaticClassSingleton装载的时候，还不会装载静态内部类StaticClassSingletonInstance
 * 只有在使用到静态内部类的时候才会装载。
 * 类的静态属性也只会在第一次加载类的时候初始化，jvm会保证线程安全
 *
 * 推荐使用
 */
public class StaticClassSingleton {
    private StaticClassSingleton() {
    }

    // 静态内部类
    private static class StaticClassSingletonInstance{
        private final static StaticClassSingleton instance=new StaticClassSingleton();
    }

    public static StaticClassSingleton getInstance(){
        return StaticClassSingletonInstance.instance;
    }
}
